查看原文
其他

那些应该走的路-简议OPC UA的运营管理实践价值

宋华振 说东道西 2019-05-09

好像又遇到很久没有内容发布了,关于OPC UA最近也的确与一些朋友进行了交流,感觉为什么大家不关注OPC UA,即使哪些号称工业互联网的公司,实际上,主流的厂商都已经开发了OPC UA功能,而国内似乎这方面的进展比较少,但经过不断分析,又发现它实际上是绕不过去的一个关键环节。


我们遇到了哪些困境?

这的确是件值得讨论的问题,我们在实际的工业互联网、智能制造的推进过程中,人们会有很多抱怨,诸如:

(1).其实我们连设备、零配件的组装时候的编码工作都没有做好,现在谈智能连接还为时尚早。

(2).我们有太多不同的设备,但是这个连接协议不开放,数据不透明啊!

(3).数据流量很大的话,成本也是比较高的;

(4).智能制造,但是,设计和运营好像是两个世界;

(5).云端应用与设备连接的安全性怎么连接?

(6).不同行业的信息要求不一样怎么办呢?

事实上,现在很多所谓的工业互联网公司都是干体力活的,就像这两天和朋友谈到人工智能,其实有很多都是体力活—对学习对象的标定,这还形成了个比较大的产业,因为人工智能的前期标定是需要大量数据学习的,所谓的高大上行业为何会成为一个体力活的产业,如果这么干下去,还真得点愚公移山的精神,但是,并非没有路—然而,却发现很多人并不了解。

 

图1是2014年世界经济论坛关于IoT发展的障碍,安全与互操作是最为主要的两个问题,而这个问题至今尚未有很好的解决,并且在工业领域更为普遍。

世界经济论坛2014年的报告显示IoT发展的障碍

CIO Insight的报告也同样列了12个IoT发展的障碍,首先就是标准的问题,而这些问题普遍存在于工业物联网、智能制造以及所谓的工业4.0,因为这些概念设计的路径都是要基于“互联”这个基础。而互联遇到的问题首先就是互操作级的问题。

 

我们遇到的问题,OPC UA都在解决

我发现一个很意思的现象,就是“我们遇到了这么多困境,但是,我们又不去关注OPC UA”—就我所知道的就是,OPC UA为我们提供了各种解决现在问题的方案在其设计架构中。

 

OPC UA正是要来解决这些问题,但是,困难在于各个提供商并不一定那么愿意支持OPCUA,有这个现象吗?似乎是有存在的,但是,谁能解决这个问题,严格来说,是End User,应该构建这些问题的标准,让设备提供商在其系统中开放这些数据,采用统一的OPC UA规范,但是,为什么又没有这么做呢?

因为,我们制造业基础相对薄弱,对数据、软件重视不足,也缺乏积累,因为真正了解用户的是用户自己,设备供应商仅提供其工作中的任务,而并不负责End User的整体架构,而新的架构需要咨询顾问、IT与OT提供商共同来完成,而IT与OT在共同语言上尚未达成一致,在OPC UA的推广中甚至出现很多工业互联网公司不知道“现场总线”这个词,就根本不知道现场还有总线这么回事(有人证明这个事实的存在)。

 

我们看看OPC UA都干了多少事情?

 

1.传输问题

OPC UA解决了C/S和Pub/Sub两种机制的传输,包括最新的对MQTT和AMQP的支持;

图2-OPC UA的传输问题解决架构

 


图3-OPC UA的Pub/Sub机制

 

‍2.信息模型是OPC UA的核心问题

 

OPC UA的核心在于信息模型,这是什么话题?

大家都在讨论,我们不知道需要哪些信息进行传输,IT的人往往会比较乐观,问OT的人你们有哪些数据,拿来,我们都可以进行分析,而OT的人会问你们需要哪些数据?这个问题经过了非常多年的探讨,至今未有清晰的答案,这是目前IT和OT融合卡壳的地方,但是,大家却又不去问问OPC UA在干什么?

 

图4-OPC UA的信息模型

其实,OPC UA的信息模型就告诉了我们“什么”数据需要被传输,信息模型就是要解决这个问题。

图4实际上包括了传输、信息模型、垂直行业信息模型多个层次的架构,中间还包括了信息传输的安全性问题。

‍3.信息模型的意义是什么?

 

信息模型是一个“管理学”意义的设计,它告诉我们为了高效协同,哪些数据需要被传输?

这非常关键!!!

因为,这反映了先进制造企业数十年的积累,他们对于设备、产线、工厂的协同具有丰富的经验,由美国人最初发布OPC UA(早期由OLE for Process Control而发展起来),但被德国工业4.0视为关键的通信规约就在于,众多的技术组织为其提供了内容—这个内容就是“数据结构化”—OPC UA信息模型的背后,是管理水平的问题。这对于我们的启发在于:

--哪些数据是所需的?

--哪些数据是我们目前欠缺的?

--哪些数据是可以被我们获得并使用的?

 

显然,对于国内企业而言,OPC UA给了我们一个机会,如何构建信息模型,以及从这些模型中,我们可以看到先进的企业是如何构建数据架构,以及管理系统需要哪些数据呈现?

 

4.行业信息模型

OPC UA除了提供基本的信息模型,也针对行业提供了伴随或垂直行业模型,基本模型以前讲过,不多说了,聊聊2块钱的行业信息模型吧!

4.1AutoID就为了解决资产管理输入问题

图5-AutoID信息模型

AutoID可以对二维码、条码、RFID等进行输入,并进行有序存储,这对于管理壳的资产输入,或者解决工厂物流中的设备、在制品的管理有着非常重要的帮助,借助于它才能让整个工厂的资产纳入统一管理,首先给大家编个码吧。

4.2PackML

PackML解决不同控制器厂商的包装设备的M2M和机器与MES之间的通信

图6-PackML实现M2M和M2B的交互

4.3EUROMAP

解决了注塑机与MES机械手的连接问题,EUROMAP 77即解决注塑机(IMM)与MES之间的数据交互问题,无论来自哪家厂商的,而EUROMAP77则是基于OPC UA的标准与规范开发的信息模型。

图7-EUROMAP实现注塑机与MES之间的交互

4.4机器人与视觉

德国VDMA联合众多机器人厂商、机器视觉厂商也为机器人与视觉提供了信息模型

图8-VDMA为机器人与视觉等领域开发了信息模型

4.5信息模型的集合

下图我们可以看到,在传统的工厂里通过私有的总线或物理的信号连接实现机器人与注塑机的协同,而在OPC UA的EUROMAP 77中可以实现注塑机与MES/机器人通过统一的规约交互,而在机器人行业又有交互的模型,然后扩展到整个工厂,包括机器人、视觉、注塑机、其它辅助设备均可通过统一的规范来进行数据交互。

 


图9-信息模型的集成层次

当然,OPC UA的基础信息模型这里没有讲,以及其它非常多的垂直行业信息模型也无法一一罗列,但是,OPC UA的确为非常多的领域进行了艰苦卓绝的工作。


‍OPC UA是否会影响到企业的当前Know-How?

担心这个的理由在于对于一些企业而言,担心自己的数据会被访问,而这些数据牵扯到其工艺Know-How,关于这个问题有以下一些方式来解决:

(1).在OPC UA的信息模型中的数据所有是强制性需要传输的,可以是可选的;用户完全可以根据自身的情况来定义数据的属性。

(2).对于OPC UA而言,其数据的安全性传输本身是伴随整个OPC UA发展的。

(3).OPC UA的信息模型更多是基于管理运营所需的,而非控制工艺的核心数据。

(4).即使在数据呈现端,OPCUA的角色也赋予不同的人员对不同数据的访问权限,以及读写属性的定义与配置。

图10-安全的Pub/Sub通信机制

图10仅说明了Pub/Sub机制下的安全,这是比较新的,而传统的C/S的安全机制已经非常成熟。

 

‍OPC UA首先解决工程量的问题

人们总是基于现实利益而非被技术描述的前景所感染才会去开发OPC UA,这在商业企业毋庸置疑,就目前而言,最为现实的问题在于OPC UA可以解决“系统实施的工程量”。

 

OPC UA的信息模型,以一种快速打包的形式将数据进行了结构化处理,并且以SoA面向服务架构的方式来由云端、边缘侧控制器来读取,在未来也可以通过Pub/Sub机制来降低流量消耗。

 

这一点对于MES和风起云涌的工业互联网企业至关重要,因为“连接”的第一步在于数据的归集,如果不采用OPC UA的规范,相信,这些数据也是完全可以被获取的,只是,这会需要非常大的工程量,编写驱动、测试接口,而且现场的复杂度远超想象,很多协议并非开放,这使得可能需要花费非常多的时间去“测试”。一种非常耗费体力的工作,工业互联网并没有比其它行业更显得高大上,也是个体力活,因此,都是很多小公司在做,如果你对他们的成长性抱有期望,这可能会让人失望,尤其对于二级市场的期待而言,希望工业互联网领域爆发式的业绩增长,然后在金融市场快速割韭菜,这可能并非想象那么容易。

 

可以想象,整个工业互联网将面临多么巨大的数据交互需求,而这些如果没有统一的“打包”的数据整体采集,工程量将会巨大,因此,像传统的现场总线刚刚出现一样,减少接线就能够给现场带来巨大的帮助,如果你爬过线槽你就知道现场总线的意义,如果你编写过程序去配置、读取参数,你就知道OPC UA的价值。

 

OPC UA就相当于你在软件里大幅度减少了布线的工作量,而且如同现场总线的好处一样,你能够更稳定的获得数据,实现各种远程控制与监测,并且能够实现远程控制。

这只是一个简单的说法,毕竟有巨大的利益才有技术的推进和开发的动力,本文想说的是,就OPC UA而言,我们研究和集成它的本质是在学习“优秀的管理经验”--数据的背后是信息建模,而这个“建模”的本质是管理运营水平。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存